package com.yoda.service;


import com.baomidou.mybatisplus.extension.service.IService;
import com.yoda.dto.RegDto;
import com.yoda.dto.UserDto;
import com.yoda.dto.YddUserPageDTO;
import com.yoda.entity.YddUser;
import com.yoda.result.Result;
import com.yoda.vo.AddArticleVo;


/**
 * <p>
 *  服务类
 * </p>
 *
 * @author itcast
 * @since 2023-05-15
 */
public interface IYddUserService extends IService<YddUser> {

    /**
     * 根据id查询
     * @param id
     * @return
     */

    public Result getById( Integer id);


    /**
     * 分页查询
     * @param pageDTO
     * @return
     */

    public Result yddPage(YddUserPageDTO pageDTO);

    /**
     * 新增员工
     * @param yddUser
     * @return
     */

    public Result add(YddUser yddUser);

    /**
     * 修改
     * @param userDTO
     * @return
     */

    public Result update(UserDto userDTO);


    Result index();

    /**
     * 热门置顶文章数据
     * @param page
     * @param pageSize
     * @return
     */
    Result indexNew(String page, String pageSize);
    /**
     *  最新文章
     * @return
     */
    Result indexHot();

    /**
     * 注册
     * @param dto
     * @return
     */
    Result reg(RegDto dto);

    /**
     * 登入
     * @param dto
     * @return
     */

    Result login(RegDto dto);

    /**
     * 查询详情
     * @param id
     * @return
     */
    Result show(Integer id);

    /**
     * 个人界面
     * @return
     */
    Result getUserInfo();

    /**
     * 我的文章
     * @param page
     * @param pageSize
     * @return
     */
    Result myArticle(String page, String pageSize);

    /**
     *  我的收藏/点赞文章
     * @param type
     * @param page
     * @param pageSize
     * @return
     */
    Result userDataList(String type, String page, String pageSize);

    /**
     * 发布文章
     * @param vo
     * @return
     */
    Result addArticle(AddArticleVo vo);

    /**
     * 取消操作
     * @param type
     * @param articleId
     * @param action
     * @return
     */
    Result userDataHandle(String type, String articleId, String action);

    /**
     * 修改账户信息
     * @param yddUser
     * @return
     */
    Result updateUser(YddUser yddUser);

    /**
     * 分类查询
     * @param page
     * @param pageSize
     * @param cateid
     * @return
     */
    Result getlist(String page, String pageSize, String cateid);
}
